//package com.woniu.aimd.controller;
//
//import com.woniu.aimd.util.ResultObj;
//import jakarta.annotation.Resource;
//import org.springframework.ai.chat.client.ChatClient;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.web.bind.annotation.PostMapping;
//import org.springframework.web.bind.annotation.RequestBody;
//import org.springframework.web.bind.annotation.RequestMapping;
//import org.springframework.web.bind.annotation.RestController;
//@RestController
//@RequestMapping("ai")
////class AimdTests {
////    @Resource
////    private ChatClient deepSeekChatClient;
////    @Autowired
////    ChatClient chatClientConfig;
////    @PostMapping("questions")
////    public ResultObj aiChat(@RequestBody String message){
////        String content = chatClientConfig.prompt().user(message).call().content();
////        return ResultObj.ok().data(content);
////}
////}
//package com.woniu.aimd.controller;
//
//import com.fasterxml.jackson.databind.ObjectMapper;
//import com.woniu.aimd.dto.AIQuestionRequest;
//import com.woniu.aimd.dto.AIQuestionResponse;
//import com.woniu.aimd.util.ResultObj;
//import jakarta.annotation.Resource;
//import org.springframework.ai.chat.client.ChatClient;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.web.bind.annotation.*;
//
//@CrossOrigin(origins = "*")
//@RestController
//@RequestMapping("ai")
//public class AimdTests {
//
//    @Resource
//    private ChatClient deepSeekChatClient;
//
//    @PostMapping("questions")
//    public ResultObj generateQuestion(@RequestBody AIQuestionRequest request) {
//        // 构建明确的提示词
//        String prompt = String.format("""
//            请生成一个关于%s的选择题，要求：
//            1. 题干放在"header"字段中
//            2. 四个选项放在"choices"数组中
//            3. 使用以下JSON格式返回：
//            {
//                "header": "问题内容",
//                "choices": ["选项A", "选项B", "选项C", "选项D"]
//            }
//
//            请确保只返回JSON格式内容，不要包含其他解释或标记。
//            """, request.getTopic());
//
//        // 调用AI并获取响应
//        String aiResponse = deepSeekChatClient.prompt()
//                .user(prompt)
//                .call()
//                .content();
//
//        try {
//            // 解析JSON响应
//            AIQuestionResponse response = parseAIResponse(aiResponse);
//            return ResultObj.ok().data(response);
//        } catch (Exception e) {
//            return ResultObj.error().msg("解析AI响应失败: " + e.getMessage());
//        }
//    }
//
//    private AIQuestionResponse parseAIResponse(String aiResponse) throws Exception {
//        // 首先尝试直接解析
//        try {
//            return new ObjectMapper().readValue(aiResponse, AIQuestionResponse.class);
//        } catch (Exception e) {
//            // 如果失败，尝试提取JSON部分
//            String jsonPart = extractJson(aiResponse);
//            return new ObjectMapper().readValue(jsonPart, AIQuestionResponse.class);
//        }
//    }
//
//    private String extractJson(String text) {
//        // 简单的JSON提取逻辑
//        int start = text.indexOf("{");
//        int end = text.lastIndexOf("}");
//        if (start >= 0 && end > start) {
//            return text.substring(start, end + 1);
//        }
//        throw new RuntimeException("无法从响应中提取JSON: " + text);
//    }
//}
